﻿#region Includes
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
using System.Text;
#endregion
namespace xna_game_engine.source
{
    abstract class CScreenElement
    {
        public enum ScreenElementTypes { ART = 1, TEXT, ANIMATION, UNIT_FRAME, MAX_GUI_TYPES };
    #region Members
        protected Vector2 m_Pos;
        protected ScreenElementTypes m_Type;
        //protected bool m_IsVisible;
        //List<CScreenElement> m_Children;
    #endregion
    #region Functions
        public CScreenElement()
        {
        }
        abstract public void Draw();
        abstract public void Update(GameTime gt);
        abstract public void Init();
    #endregion
    #region Properties
        public Vector2 Position
        {
            get { return m_Pos; }
            set { m_Pos = value; }
        }
    #endregion
    }
}
